package com.sc.nft.entity.vo;

import com.sc.nft.enums.MallMemberEquityTypeEnum;
import com.sc.nft.enums.MemberEquityTemplateeceiveCycleEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 编辑或添加会员权益模版VO
 *
 * @Author：LiGen
 * @Package：com.sc.nft.entity.vo
 * @Project：sc_metago
 * @name：EditMemberEquityTemplateVO
 * @Date：2024/4/3 15:37
 * @Filename：EditMemberEquityTemplateVO
 */
@Data
public class EditMemberEquityTemplateVO {

    @ApiModelProperty(value = "权益模板Id")
    private Long id;

    @ApiModelProperty(value = "会员权益类型")
    @NotNull(message = "会员权益类型不能为空")
    private MallMemberEquityTypeEnum type;

    @ApiModelProperty(value = "权益名称")
    @NotBlank(message = "权益名称不能为空")
    private String equityName;

    @ApiModelProperty(value = "领取限制周期[FULL-整个周期, PRE_DAY-每天,PRE_WEEk-每周,PRE_MONTH-每月,PRE_YEAR-每年]")
    @NotNull(message = "领取限制周期不能为空")
    private MemberEquityTemplateeceiveCycleEnum receiveCycle;

    @ApiModelProperty(value = "用户限领数量")
    @NotNull(message = "用户限领数量不能为空")
    private Integer limitCountPerUser;

    @ApiModelProperty(value = "是否有领取周期限制")
    @NotNull(message = "是否有领取周期限制不能为空")
    private Boolean receiveTimeRule;

    @ApiModelProperty(value = "优先抢提前时间 单位：分钟")
    @NotNull(message = "优先抢提前时间不能为空")
    private Integer prioritizeTheLeadTime;

    @ApiModelProperty(value = "权益是否叠加")
    @NotNull(message = "权益是否叠加不能为空")
    private Boolean superpositionInterests;

    @ApiModelProperty(value = "权益图标")
    @NotBlank(message = "权益图标不能为空")
    private String equityIcon;

    @ApiModelProperty(value = "权益详情")
    @NotBlank(message = "权益详情不能为空")
    private String equityDetails;

}
